Kiến trúc Học_sâu

Có một lượng rất lớn các biến thể của kiến trúc sâu. Hầu hết chúng là nhánh sinh ra từ một số kiến trúc cha ban đầu. Không phải là luôn luôn có thể so sánh hiệu suất của nhiều kiến trúc cùng với nhau, vì chúng không phải là tất cả đánh giá trên cùng một tập dữ liệu. Học sâu học là một lĩnh vực phát triển nhanh, và các kiến trúc, biến thể, hoặc các thuật toán mới xuất hiện mỗi vài tuần.

Các mạng neuron sâu

Mạng neuron sâu (DNN-Deep neural Network) là một mạng neuron nhân tạo (ANN) với nhiều đơn vị lớp ẩn giữa lớp đầu vào và đầu ra. Tương tự như các ANN nông, các DNN nông có thể mô hình mối quan hệ phi tuyến phức tạp. Các kiến trúc DNN, ví dụ như để phát hiện và phân tích đối tượng tạo ra các mô hình hỗn hợp trong đó đối tượng này được thể hiện như một thành phần được xếp lớp của các hình ảnh nguyên thủy. Các lớp phụ cho phép các thành phần của các đặc điểm từ các lớp thấp hơn, đem lại tiềm năng của mô hình hóa dữ liệu phức tạp với các đơn vị ít hơn so với một mạng lưới nông thực hiện tương tự như vậy.

Các DNN thường được thiết kế như các mạng nuôi tiến, nhưng nghiên cứu gần đây đã áp dụng thành công kiến trúc học sâu đối với các mạng nơ ron tái phát cho các ứng dụng chẳng hạn như mô hình hóa ngôn ngữ. Các mạng neuron sâu tích chập (CNN) được sử dụng trong thị giác máy tính nơi thành công của chúng đã được ghi nhận. Gần đây hơn, các CNN đã được áp dụng để mô hình hóa âm thanh cho nhận dạng giọng nói tự động (ASR), nơi chúng đã cho thấy sự thành công trong các mô hình trước đó. Để đơn giản, ta hãy nhìn vào việc huấn luyện các DNN được đưa ra ở đây.

Một DNN có thể là mô hình biết suy xét được đào tạo với thuật toán truyền ngược tiêu chuẩn. Các bản cập nhật trọng số có thể được thực hiện thông qua độ dốc gradient ngẫu nhiên bằng cách sử dụng phương trình sau:

Trong đó, η {\displaystyle \eta } là tốc độ học, và C {\displaystyle C} là hàm chi phí. Việc lựa chọn của hàm chi phí phụ thuộc vào các yếu tố như loại học tập (giám sát, không có giám sát, tăng cường, vv) và hàm kích hoạt. Ví dụ, khi thực hiện học có giám sát về một vấn đề phân loại nhiều lớp, các lựa chọn phổ biến cho hàm kích hoạt và hàm chi phí là hàm softmax (hàm mũ chuẩn hóa) và hàm entropy chéo, tương ứng. Hàm softmax được định nghĩa là p j = exp ⁡ ( x j ) ∑ k exp ⁡ ( x k ) {\displaystyle p_{j}={\frac {\exp(x_{j})}{\sum _{k}\exp(x_{k})}}} trong đó p j {\displaystyle p_{j}} thể hiện xác suất của lớp (đầu ra của đơn vị j {\displaystyle j} ) và x j {\displaystyle x_{j}} và x k {\displaystyle x_{k}} hiển thể hiện tổng đầu vào thành các đơn vị j {\displaystyle j} và k {\displaystyle k} của cùng cấp tương ứng. Entropy chéo được định nghĩa là C = − ∑ j d j log ⁡ ( p j ) {\displaystyle C=-\sum _{j}d_{j}\log(p_{j})} trong đó d j {\displaystyle d_{j}} thể hiện cho xác suất mục tiêu của đơn vị ra j {\displaystyle j} và p j {\displaystyle p_{j}} là đầu ra xác suất cho j {\displaystyle j} sau khi áp dụng hàm kích hoạt.

Chúng có thể được sử dụng để xuất ra các hộp bao quanh đối tượng trong hình thức của một mặt nạ nhị phân. Chúng cũng được sử dụng cho các hồi quy đa quy mô để tăng độ chính xác của định vị. Hồi qui dựa trên DNN có thể học các đặc điểm mà chụp lại thông tin hình học ngoài việc là một bộ phân loại tốt. Chúng sẽ loại bỏ các giới hạn của việc thiết kế một mô hình mà sẽ chụp lại các bộ phận và quan hệ của chúng một cách rõ ràng. Điều này sẽ giúp học được một loạt các đối tượng rộng lớn. Mô hình này bao gồm nhiều lớp, mỗi trong số đó có một đơn vị chỉnh lại tuyến tính cho các chuyển đổi phi tuyến. Một số lớp là tích chập, trong khi những lớp khác được kết nối đầy đủ. Mỗi lớp tích chập có một thăm dò max bổ sung. Mạng được huấn luyện để giảm thiểu sai số L2 để dự đoán mặt nạ nằm trong dãi qua bộ huấn luyện toàn bộ chứa các hộp đường biên được thể hiện như là mặt nạ.

Các vấn đề với các mạng neuron sâu

Như với các ANN, nhiều vấn đề có thể nảy sinh với các DNN nếu chúng được huấn luyện thô sơ. Hai vấn đề phổ biến là overfitting (nhiễu hoặc sai số ngẫu nhiên) và thời gian tính toán.

Các DNN có thiên hướng overfitting vì được thêm các lớp trừu tượng, mà cho phép chúng thực hiện mô hình hóa phụ thuộc hiếm hoi vào dữ liệu huấn luyện. Các phương pháp regularization (quy tắc hóa) như phân rã trọng số ( ℓ 2 {\displaystyle \ell _{2}} -regularization) hoặc sparsity (rãi) ( ℓ 1 {\displaystyle \ell _{1}} -regularization) có thể được áp dụng trong quá trình huấn luyện để giúp chống lại overfitting. Một phương pháp regularization gần đây được áp dụng cho các DNN là dropout regularization. Trong dropout, một số số lượng đơn vị được bỏ qua ngẫu nhiên từ các lớp ẩn trong quá trình đào tạo. Điều này giúp phá vỡ các phụ thuộc hiếm hoi có thể xảy ra trong dữ liệu đào tạo.

Phương pháp chủ đạo cho việc huấn luyện các cấu trúc là sửa lỗi huấn luyện (chẳng hạn như truyền ngược với gradient descent) do dễ thực hiện và xu hướng hội tụ tốt hơn local optima (tối hưu cục bộ) hơn so với các phương pháp huấn luyện khác. Tuy nhiên, những phương pháp này có thể tốn công tính toán hơn, đặc biệt là cho các DNN. Có rất nhiều tham số huấn luyện để được xem xét với một DNN, chẳng hạn như kích thước (số lượng lớp và số lượng đơn vị trên mỗi lớp), tốc độ học và trọng số ban đầu. Quét thông qua không gian tham số cho các thông số tối ưu có thể không khả thi do chi phí trong thời gian và tài nguyên tính toán. Nhiều 'mẹo vặt' chẳng hạn như bằng cách sử dụng mini-batching (tính toán gradient trên nhiều ví dụ huấn luyện khác nhau cùng một lúc chứ không phải là từng ví dụ một) đã được chỉ ra để tăng tốc độ tính toán. Lượng xử lý lớn thông qua GPU đã tăng tốc đáng kể trong việc huấn luyện, do tính toán ma trận và vector rất thích hợp với các GPU. Lựa chọn thay thế triệt để cho truyền ngược là Extreme Learning Machines (Siêu máy học, các mạng "No-prop", huấn luyện không cần truy ngược, các mạng "không trọng số", và mạng nơron không kết (non-connectionist neural network) đang thu hút được sự chú ý.

Mạng niềm tin sâu (Deep belief network)

Một mạng niềm tin sâu (DBN) là một mô hình xác suất thể sinh, tạo thành bởi nhiều đơn vị ẩn nhiều lớp. Nó có thể được coi là một hàm hợp các mô-đun học đơn giản tạo thành mỗi lớp.

Một DBN có thể được sử dụng để huấn luyện trước khả sinh một DNN bằng cách sử dụng các trọng số DBN học như các trọng số DNN ban đầu. Các thuật toán truyền ngược hoặc suy xét khác sau đó có thể được áp dụng để điều chỉnh những trọng số này. Điều này đặc biệt hữu ích khi dữ liệu đào tạo giới hạn là có sẵn, vì các trọng số khởi tạo nghèo nàn có thể cản trở đáng kể hiệu suất của mô hình được học. Các trọng số đào tạo trước này là một vùng không gian trọng số là gần gũi hơn với trọng số tối ưu hơn là các trọng số ban đầu được chọn ngẫu nhiên. Điều này cho phép cả mô hình hóa được cải thiện và hội tụ tinh chỉnh pha nhanh hơn.

Một DBN có thể được huấn luyện một cách hiệu quả trong một cách thức không có giám sát, lớp kề lớp, nơi mà các lớp thường được tạo ra từ các máy Boltzmann hạn chế(RBM). Một RBM là một mô hình vô hướng, thể sinh dựa trên năng lượng với một lớp đầu vào "hiện" và một ẩn lớp, và các kết nối giữa các lớp nhưng không nằm trong các lớp. Phương pháp huấn luyện cho RBM được đề xuất bởi Geoffrey Hinton để sử dụng với các mô hình "Product of Expert" được gọi là tương phản phân kỳ (CD-contrastive divergence). CD cung cấp một xấp xỉ cho phương pháp với khả năng tối đa có vị trí lý tưởng sẽ được áp dụng cho việc học các trọng số của RBM. Trong việc huấn luyện một RBM đơn, các cập nhật trọng số được thực hiện với gradient ascent qua phương trình sau: Δ w i j ( t + 1 ) = w i j ( t ) + η ∂ log ⁡ ( p ( v ) ) ∂ w i j {\displaystyle \Delta w_{ij}(t+1)=w_{ij}(t)+\eta {\frac {\partial \log(p(v))}{\partial w_{ij}}}} . Trong đó, p ( v ) {\displaystyle p(v)} là xác suất của một vector hiện, được cho bởi p ( v ) = 1 Z ∑ h e − E ( v , h ) {\displaystyle p(v)={\frac {1}{Z}}\sum _{h}e^{-E(v,h)}} . Z {\displaystyle Z} là hàm từng phần, (được sử dụng để chuẩn hóa) và E ( v , h ) {\displaystyle E(v,h)} là hàm năng lượng được gán cho trạng thái của mạng. Một năng lượng thấp hơn chỉ thị mạng đó đang được cấu hình "đáng mong muốn" hơn. Gradient ∂ log ⁡ ( p ( v ) ) ∂ w i j {\displaystyle {\frac {\partial \log(p(v))}{\partial w_{ij}}}} có dạng đơn giản ⟨ v i h j ⟩ data − ⟨ v i h j ⟩ model {\displaystyle \langle v_{i}h_{j}\rangle _{\text{data}}-\langle v_{i}h_{j}\rangle _{\text{model}}} trong đó ⟨ ⋯ ⟩ p {\displaystyle \langle \cdots \rangle _{p}} thể hiện các giá trị trung bình đối với phân phối p {\displaystyle p} . Vấn đề này nãy sinh trong việc lấy mẫu ⟨ v i h j ⟩ model {\displaystyle \langle v_{i}h_{j}\rangle _{\text{model}}} bởi vì điều này đòi hỏi phải chạy xen kẽ lấy mẫu Gibbs trong một thời gian dài. CD thay thế bwowcs này bằng cách chạy luân phiên lấy mẫu Gibbs cho n {\displaystyle n} bước (giá trị của n = 1 {\displaystyle n=1} được lấy theo kinh nghiệm được chỉ ra là làm việc tốt). Sau n {\displaystyle n} bước, dữ liệu được lấy mẫu và mẫu này sẽ được sử dụng trong ⟨ v i h j ⟩ model {\displaystyle \langle v_{i}h_{j}\rangle _{\text{model}}} . Chu trình CD hoạt động như sau:

  1. Khởi tạo các đơn vị hiện (visible) tới một vector huấn luyện.
  2. Cập nhật các đơn vị ẩn song song với các đơn vị hiện: p ( h j = 1 ∣ V ) = σ ( b j + ∑ i v i w i j ) {\displaystyle p(h_{j}=1\mid {\textbf {V}})=\sigma (b_{j}+\sum _{i}v_{i}w_{ij})} . σ {\displaystyle \sigma } là hàm sigmoid và b j {\displaystyle b_{j}} là độ lệch của h j {\displaystyle h_{j}} .
  3. Cập nhật các đơn vị hiện song song với các đơn vị ẩn đã cho: p ( v i = 1 ∣ H ) = σ ( a i + ∑ j h j w i j ) {\displaystyle p(v_{i}=1\mid {\textbf {H}})=\sigma (a_{i}+\sum _{j}h_{j}w_{ij})} . a i {\displaystyle a_{i}} là độ lệch của v i {\displaystyle v_{i}} . Điều này được gọi là bước "cải tạo".
  4. Tái cập nhật các đơn vị ẩn song song với các đơn vị hiện cải tạo đã cho bằng cách sử dụng phương trình tương tự như trong bước 2.
  5. Thực hiện cập nhật trọng số: Δ w i j ∝ ⟨ v i h j ⟩ data − ⟨ v i h j ⟩ reconstruction {\displaystyle \Delta w_{ij}\propto \langle v_{i}h_{j}\rangle _{\text{data}}-\langle v_{i}h_{j}\rangle _{\text{reconstruction}}} .

Khi một RBM được huấn luyện, RBM khác là "xếp chồng" trên nó, đưa đầu vào của nó từ cuối lớp đã được huấn luyện. Lớp hiện mới này được khởi tạo với một vector hiện, và các giá trị cho các đơn vị trong các lớp đã được huấn luyện phân công bằng cách sử dụng trọng số hiện tại và các độ lệch. RBM mới này sau đó lại được huấn luyện với chu trình như trên. Toàn bộ quá trình này được lặp lại cho đến khi một số tiêu chí mong muốn chặn lại được đáp ứng.

Mặc dù xấp xỉ của CD để tối đa khả năng là rất thô (CD đã được chỉ ra là theo gradient của bất kỳ hàm nào), nó đã được kinh nghiệm chỉ ra là có hiệu quả trong huấn luyện các kiến trúc sâu.

Mạng nơ ron tích chập (Convolutional neural networks)

Một CNN gồm có một hoặc nhiều hơn các lớp tích chập với các lớp đầy đủ kết nối (đáp ứng phù hợp với những mạng neuron nhân tạo tiêu biểu) trên đỉnh. Nó cũng sử dụng trọng số gắn liền và các lớp thăm dò. Kiến trúc này cho phép các CNN tận dụng lợi thế của cấu trúc 2D của dữ liệu đầu vào. So với những kiến trúc sâu khác, mạng neuron tích chập đang bắt đầu thể hiện kết quả vượt trội trong các ứng dụng hình ảnh và giọng nói. Chúng cũng có thể được huấn luyện với tiêu chuẩn truyền ngược. CNN dễ dàng được đào tạo hơn các mạng nơ ron sâu nuôi tiến thông thường khác, và có ít thông số ước tính hơn, khiến cho chúng trở thành một kiến trúc rất hấp dẫn để sử dụng. Các ví dụ về ứng dụng trong Thị Giác máy tính bao gồm DeepDream.

Các mạng niềm tin sâu tích chập

Sử dụng mạng niềm tin sâu (CDBN) là một thành tựu gần đây của học sâu. Các CDBN có cấu trúc rất giống với một mạng neuron tích chập và được huấn luyện tương tự như các mạng niềm tin sâu. Vì vậy, chúng khai thác cấu trúc 2D của hình ảnh, giống như CNN làm, và làm cho việc sử dụng đào tạo trước giống như mạng niềm tin sâu. Chúng quy định một cấu trúc chung mà có thể được sử dụng trong nhiều tác vụ xử lý hình ảnh và tín hiệu. Gần đây, nhiều kết quả benchmark (tiêu chuẩn) dựa trên tập dữ liệu hình ảnh chuẩn như CIFAR đã được thu được kết quả bằng cách sử dụng CDBN.

Mạng neuron lưu trữ và truy xuất bộ nhớ lớn

Mạng nơ ron lưu trữ và truy xuất bộ nhớ lớn (LAMSTAR) là các mạng nơ ron học sâu nhanh gồm nhiều lớp mà có thể sử dụng đồng thời nhiều bộ lọc. Các bộ lọc này có thể là phi tuyến, ngẫu nhiên, logic, không cố định, hoặc thậm chí không có tính phân tích. Chúng là học sinh học năng động và liên tục.

Mạng neuron LAMSTAR có thể phục vụ như là một mạng nơ ron năng động trong không gian hay miền thời gian, hoặc cả hai. Tốc độ của nó được quy định bởi các liên kết-trọng số Hebbian (chương 9 của D. Graupe, 2013), dùng để tích hợp các bộ lọc khác nhau và thường khác nhau (các hàm tiền xử lý) vào nó nhiều lớp và để xếp hạng năng đọng tầm quan trọng của các lớp khác nhau và các hàm liên quan đến nhiệm vụ nhất định cho việc học sâu. Điều này hiển nhiên bắt chước học sinh học mà tích hợp các bộ tiền lý đầu ra khác nhau (ốc tai, võng mạc, vv) và vỏ não (thính giác, thị giác, vv) và của các vùng khác nhau của chúng. Khả năng học sâu của nó tăng cường hơn nữa bằng cách sử dụng sự ức chế, sự tương quan và bởi khả năng đối phó với dữ liệu không đầy đủ của nó, hoặc "mất" nơ ron hoặc lớp ngay cả khi đang thực thi một tác vụ. Hơn nữa, nó hoàn toàn minh bạch do trọng số liên kết của nó. Các trọng số liên kết cho phép xác định năng động sáng tạo và thừa thải, và tạo thuận lợi cho việc xếp hạng của các lớp, các bộ lọc hoặc các nơ ron đơn lẽ tương ứng với một nhiệm vụ.

LAMSTAR đã được áp dụng cho nhiều dự đoán y tế và tài chính (xem Graupe, 2013 Phần 9C), bộ lọc thích nghi nhiễu nhận dạng giọng nói với tiếng ồn không xác định, nhận dạng ảnh tĩnh (Graupe, 2013 Phần 9D), nhận dạng ảnh video, bảo mật phần mềm, điều khiển thích nghi của các hệ thống phi tuyến, vv. LAMSTAR có tốc độ tính toán nhanh hơn nhiều và có lỗi hơi ít hơn so với một mạng nơ ron tích chập dựa trên các bộ lọc hàm-ReLU và thăm dò max, trong một nghiên cứu nhận dạng ký tự so sánh.

Các ứng dụng này chứng minh đào sâu vào các khía cạnh của các dữ liệu đó là bị ẩn từ các mạng học nông hoặc thậm chí từ những giác quan của con người (mắt, tai), chẳng hạn như trong trường hợp của dự đoán sự bắt đầu của hiện tượng ngưng thở khi ngủ, của một biểu đồ điện tâm đồ một thai nhi như được ghi chép từ các điện cực gắn trên da được đặt trên bụng người mẹ trong thời gian đầu của thai kỳ, của dự đoán tài chính (Phần 9C trong Graupe, 2013), hoặc trong lọc mù của nhiễu trong nhận dạng giọng nói

LAMSTAR đã được đề xuất năm 1996 (Bằng phát minh 5,920,852 A của Mỹ) và tiếp tục được phát triển bởi D Graupe và H Kordylewski vào năm 1997-2002. Một phiên bản sửa đổi, được gọi là LAMSTAR 2, được phát triển bởi N C Schneider và D Graupe trong năm 2008.

Các máy Deep Boltzmann

Các mạng xếp chồng sâu

Một kiến trúc sâu dựa trên một hệ thống phân cấp của các khối mô-đun mạng neuron đơn giản là một mạng sâu lồi, được giới thiệu vào năm 2011. Ở đây, bài toán học các trọng số được xây dựng như một bài toán tối ưu hóa lồi với lời giải dạng đóng. Kiến trúc này còn được gọi là một mạng xếp chồng sâu (DSN), nhấn mạnh các cơ chế tương tự với tổng quát hóa xếp chồng. Mỗi khối DSN là một module đơn giản đó là dễ dàng để huấn luyện chính nó trong một kiểu có giám sát mà không cần truyền ngược cho toàn bộ các khối.

Mạng lập trình sâu (deep coding network)

Có những lợi thế của một mô hình mà có thể chủ động cập nhật bản thân từ ngữ cảnh trong dữ liệu. Mạng lập trình (DPCN) là một chương trình lập trình tiên đoán, trong đó thông tin từ trên xuống được sử dụng để điều chỉnh theo kinh nghiệm của những cái trước đó cần thiết cho một thủ tục suy luận từ dưới lên bằng các phương tiện của một mô hình thể sinh kết nối cục bộ sâu. Điều này hoạt động bằng cách chiết tách các đặc điểm rời rạc các quan sát biến đổi theo thời gian bằng cách sử dụng một mô hình động học tuyến tính. Sau đó, một chiến lược thăm dò được sử dụng để học các đại diện đặc điểm bất biến. Các đơn vị này tập hợp lại để tạo thành một kiến trúc sâu và được huấn luyện bởi học không giám sát layer-wise tham lam. Các lớp tạo thành một loại xích Markov mà các trạng thái tại bất kỳ lớp nào cũng chỉ phụ thuộc vào các lớp trước và các lớp sau (kế thừa).

Mạng lập tình dự đoán sâu (DPCN) dự đoán đại diện của lớp, bằng cách sử dụng một cách tiếp cận từ trên xuống bằng cách sử dụng thông tin ở lớp trên và các phụ thuộc thời gian từ các trạng thái trước đó.

DPCN có thể được mở rộng để tạo thành một mạng tích chập.

Máy nhân đa lớp

Deep q-networks

Mạng bộ nhớ

Bộ nhớ ngoài tích hợp với các mạng neuron nhân tạo tính đến nghiên cứu đầu tiên trrong đại diện phân phối và các bản đồ tự tổ chức. Ví dụ, trong bộ nhớ phân tán hoặc bộ nhớ phân cấp thời gian, các mô hình được mã hóa bởi các mạng neuron được sử dụng như là các địa chỉ cho bộ nhớ có khả năng định địa chỉ nội dung, với các "nơ ron" chủ yếu phục vụ như là các bộ mã hóa và giải mã.

Bộ nhớ ngắn-hạn dài

Trong thập niên 1990 và thập niên 2000, đã có nhiều công trình liên quan đến bộ nhớ ngắn-hạn dài (LSTM - thêm bộ nhớ khả vi cho các hàm hồi qui). Ví dụ:

  • Các hành động đẩy và lấy ra khả vi cho các mạng bộ nhớ thay thế được gọi là các máy ngăn xếp nơ ron
  • Memory networks where the control network's external differentiable storage is in the fast weights of another network
  • LSTM "forget gates"
  • Self-referential recurrent neural networks (RNNs) with special output units for addressing and rapidly manipulating each of the RNN's own weights in differentiable fashion (internal storage)
  • Learning to transduce with unbounded memory

Các mạng bộ nhớ

Các mạng bộ nhớ một mở rộng khác của các mạng nơ ron nhân tạo kết hợp với bộ nhớ dài hạn, được phát triển bởi nhóm nghiên cứu Facebook. Bộ nhớ dài hạn có thể được đọc và ghi vào đó, với mục đích sử dụng cho việc dự báo. Các mô hình này đã được áp dụng trong bối cảnh hỏi đáp (QA) nơi bộ nhớ dài hạn hoạt động hiệu quả như một cơ sở kiến thức (năng động), và đầu ra là một đáp ứng văn bản.

Các mạng mã hóa-giải mã

Một framework mã hóa-giải mã là một framework dựa trên các mạng neuron nhằm mục đích lập bản đồ đầu vào cấu trúc cao tới đầu ra có cấu trúc cao. Nó đã được đề xuất gần đây trong bối cảnh của máy dịch, trong đó đầu vào và đầu ra được viết thành câu bằng hai ngôn ngữ tự nhiên. Trong đó, một mạng nơ ron tái phát (RNN) hoặc mạng neuron tích chập (CNN) được sử dụng như một bộ mã hóa để tóm tắt một câu nguồn và tóm tắt này được giải mã bằng cách sử dụng một mô hình ngôn ngữ mạng neuron tái phát có điều kiện để tạo ra bản dịch. Tất cả các hệ thống này có các khối xây dựng tương tự: cổng RNN và CNN, và các cơ chế tập trung được huấn luyện.